// 惰性函数是指第一次调用时执行特定操作，之后将函数重写或修改，以便在以后的调用中
// 直接返回缓存的结果，而不在执行改操作。这通常用于性能优化，以避免重复执行开销较大的操作。
function addEvent (element, type, handler) {
    if(element.addEventListener) {
        addEvent = function (element, type, handler) {
            element.addEventListener(type, handler, false)
        }
    }else if(element.attachEvent) {
        addEvent = function (element, type, handler) {
            element.attachEvent('on' + type, handler)
        }
    }else {
        addEvent = function (element, type, handler) {
            element['on' + type] = handler
        }
    }

    return addEvent(element, type, handler)
}

const myButton = document.getElementById('myButton')
addEvent(myButton, 'click', function () {
    console.log('Button clicked!')
})